{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    }
   ],
   "source": [
    "%pylab inline\n",
    "import matplotlib.pyplot as plt\n",
    "import tensorflow as tf\n",
    "import numpy as np\n",
    "import numpy.random as rng\n",
    "import pandas.io.data as web\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_prices(symbol):\n",
    "    start, end = '2007-05-02', '2016-04-11'\n",
    "    data = web.DataReader(symbol, 'yahoo', start, end)\n",
    "    data=pd.DataFrame(data)\n",
    "    prices=data['Adj Close']\n",
    "    #prices=np.asarray(list(prices))\n",
    "    prices=prices.astype(float)\n",
    "    return prices\n",
    "\n",
    "def get_returns(prices):\n",
    "    return (prices-prices.shift(-1))/prices\n",
    "\n",
    "def sort_data(rets):\n",
    "    ins = []\n",
    "    outs = []\n",
    "    for i in range(len(rets)-100):\n",
    "        ins.append(rets[i:i+100].tolist())\n",
    "        outs.append(rets[i+100])\n",
    "    return np.array(ins), np.array(outs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# separate data into inputs and outputs for training and testing\n",
    "gs = get_prices('GS')\n",
    "rets = get_returns(gs)\n",
    "ins, outs = sort_data(rets)\n",
    "div = int(.8 * ins.shape[0])\n",
    "train_ins, train_outs = ins[:div], outs[:div]\n",
    "test_ins, test_outs = ins[div:], outs[div:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sess = tf.InteractiveSession()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# we define two placeholders for our input and output\n",
    "x = tf.placeholder(tf.float32, [None, 100])\n",
    "y_ = tf.placeholder(tf.float32, [None, 1])\n",
    "\n",
    "# we define trainable variables for our model\n",
    "W = tf.Variable(tf.random_normal([100, 1]))\n",
    "b = tf.Variable(tf.random_normal([1]))\n",
    "\n",
    "# we define our model: y = W*x + b\n",
    "y = tf.matmul(x, W) + b\n",
    "\n",
    "#MSE:\n",
    "cost = tf.reduce_sum(tf.pow(y-y_, 2))/(2*1000)\n",
    "optimizer = tf.train.GradientDescentOptimizer(0.5).minimize(cost)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 1000 cost= 0.019055584\n",
      "Epoch: 2000 cost= 0.005943393\n",
      "Epoch: 3000 cost= 0.002348902\n",
      "Epoch: 4000 cost= 0.001233126\n",
      "Epoch: 5000 cost= 0.000856721\n",
      "Epoch: 6000 cost= 0.000721102\n",
      "Epoch: 7000 cost= 0.000669394\n",
      "Epoch: 8000 cost= 0.000648663\n",
      "Epoch: 9000 cost= 0.000639970\n",
      "Epoch: 10000 cost= 0.000636177\n",
      "Epoch: 11000 cost= 0.000634464\n",
      "Epoch: 12000 cost= 0.000633667\n",
      "Epoch: 13000 cost= 0.000633285\n",
      "Epoch: 14000 cost= 0.000633100\n",
      "Epoch: 15000 cost= 0.000633007\n",
      "Epoch: 16000 cost= 0.000632960\n",
      "Epoch: 17000 cost= 0.000632936\n",
      "Epoch: 18000 cost= 0.000632923\n",
      "Epoch: 19000 cost= 0.000632917\n",
      "Epoch: 20000 cost= 0.000632913\n"
     ]
    }
   ],
   "source": [
    "# initialize variables to random values\n",
    "init = tf.initialize_all_variables()\n",
    "sess.run(init)\n",
    "# run optimizer on entire training data set many times\n",
    "for epoch in range(20000):\n",
    "    sess.run(optimizer, feed_dict={x: train_ins, y_: train_outs.reshape(1,-1).T})\n",
    "    # every 1000 iterations record progress\n",
    "    if (epoch+1)%1000== 0:\n",
    "        c = sess.run(cost, feed_dict={x: train_ins, y_: train_outs.reshape(1,-1).T})\n",
    "        print(\"Epoch:\", '%04d' % (epoch+1), \"cost=\", \"{:.9f}\".format(c))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1121c5fd0>]"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x111ce6080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#train results :)\n",
    "predict = y\n",
    "p = sess.run(predict, feed_dict={x: train_ins})\n",
    "position = 2*((p>0)-.5)\n",
    "returns= position.reshape(-1) * train_outs\n",
    "plot(np.cumprod(returns+1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1123ae860>]"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1121dc550>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#test results :(\n",
    "predict = y\n",
    "p = sess.run(predict, feed_dict={x: test_ins})\n",
    "position = 2*((p>0)-.5)\n",
    "returns= position.reshape(-1) * test_outs\n",
    "plot(np.cumprod(returns+1))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.4.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
